package com.haixiaoke.saas.house.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.cleaner.domain.InspectionProcessRecord;
import com.haixiaoke.saas.cleaner.domain.InspectionProcessRecordTree;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 验房记录对象 biz_house_inspection
 *
 * @author xiaolong
 * @date 2024-05-08
 */
@Data
public class HouseInspection extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 验房id
     */
    private String houseInspectionId;

    /**
     * 订单id
     */
    @Excel(name = "订单id")
    private String orderId;

    /**
     * 房屋id
     */
    @Excel(name = "房屋id")
    private String houseId;

    /**
     * 验房人员id
     */
    @Excel(name = "验房人员id")
    private Long cleanerId;

    /**
     * 保洁用户id
     */
    @Excel(name = "保洁用户id")
    private Long cleanerUserId;

    /**
     * 验房人员名称
     */
    @Excel(name = "验房人员名称")
    private String homeInspectorName;

    /**
     * 房间详细地址
     */
    @Excel(name = "房间详细地址")
    private String fullAddress;

    /** 验房状态：1.待指派；2.已指派；3.已完成 */
    @Excel(name = "验房状态：1.待指派；2.已指派；3.已完成")
    private String inspectionState;

    /** 验房结果：1.正常；2损坏 */
    @Excel(name = "验房结果：1.正常；2损坏")
    private String inspectionResult;

    /** 验房分类：1.日常检查；2.换退验房 */
    @Excel(name = "验房分类：1.日常检查；2.换退验房")
    private String inspectionType;


    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 预计开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "预计开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledTime;

    /**
     * 保洁流程快照
     */
    @Excel(name = "保洁流程快照")
    private String cleaningProcess;

    /**
     * 操作人id
     */
    @Excel(name = "操作人id")
    private Long operatorId;

    /**
     * 逻辑删除标志(0代表存在
     */
    private String delFlag;

    /**
     * 验房流程记录树
     */
    private List<InspectionProcessRecordTree> inspectionProcessRecordTreeList;

    /**
     * 验房流程记录
     */
    private List<InspectionProcessRecord> inspectionProcessRecordList;

    /**
     * 楼栋id集合
     */
    private String[] houseInspectionIds;

    /**
     * 乐观锁版本号
     */
    private Integer version;
}
